package com.gavinwind.uic.customer.common.config;

/**
 * 【证件类型枚举】
 * @author chenxin
 * @version V1.0
 * @date 17/11/14 下午12:08
 */
public enum ENUM_ID_TYPE {
    /** 需要定制一套完整的错误码值规则 */
    PERSON_ID("101", "身份证");
    /** 枚举code */
    private String code;
    /** 枚举value或者code说明 */
    private String value;

    ENUM_ID_TYPE(String code, String value) {
        this.code = code;
        this.value = value;
    }

    /**
     * 获得枚举code值
     *
     * @Title: code
     * @Description: 获得枚举code值
     * @return
     */
    public String code() {
        return code;
    }

    /**
     * 获得枚举value值
     *
     * @Title: decription
     * @Description: 获得枚举value值
     * @return
     */
    public String description() {
        return value;
    }

    /**
     * 根据key获得value
     * @param key
     * @return
     */
    public static String getEnumValueByKey(String key) {
        for (ENUM_ID_TYPE enumItem : ENUM_ID_TYPE.values()) {
            if (key.equals(enumItem.code())) {
                return enumItem.description();
            }
        }
        return "";
    }

    /**
     * 根据key获得枚举对象
     * @param key
     * @return
     */
    public static ENUM_ID_TYPE getEnumByKey(String key) {
        for (ENUM_ID_TYPE enumItem : ENUM_ID_TYPE.values()) {
            if (key.equals(enumItem.code())) {
                return enumItem;
            }
        }
        return null;
    }

    @Override
    public String toString(){
        return "【"+code+"】" + value ;
    }
}
